/*
 * cronometro.cpp
 *
 *  Created on: 23/11/2012
 *      Author: guidi
 */

#include "cronometro.h"

Cronometro::Cronometro() {

}

void Cronometro::iniciar() {
		this->contador = 0;
		this->inicio = clock();
		this->pausado = false;
}

void Cronometro::pausar()  {
	clock_t fin;
	fin = clock();
	this->contador += fin - this->inicio;
	this->pausado = true;
}

void Cronometro::continuar()  {
	if (this->pausado) {
		this->inicio = clock();
		this->pausado = false;
	}
}

void Cronometro::parar()  {
	if (!this->pausado) {
		this->pausar();
		this->pausado = true;
	}
}

std::string Cronometro::toString()  {
	std::stringstream segundos;
	std::stringstream milisegundos;
	segundos << this->contador/1000000;
	milisegundos << this->contador - (contador/1000000);
	return "Transcurrieron " + segundos.str() + "." + milisegundos.str() +
			" segundos";
}

long Cronometro::getTiempoTranscurrido()  {
	return this->contador;
}
